const WXAPI = require('apifm-wxapi')
const { ensureAbsoluteUrl } = require('../../utils/url.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    articleList: undefined, // 推荐的文章
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad (options) {
    /**
     * 接口名称: queryConfigBatch
     * 接口作用: 批量查询系统配置项（网站名称、Logo、作者名称、联系电话等）
     * 请求参数: keys (string) - 逗号分隔的配置项名称
     * 返回格式: {
     *   code: 0,          // 状态码，0表示成功
     *   data: [           // 配置项数组
     *     {
     *       key: "mallName",    // 配置项键名
     *       value: "摄影展小程序" // 配置项值
     *     }
     *   ]
     * }
     */
    const sysConfigSettings = await WXAPI.queryConfigBatch('mallName,mylogo,myname,tel');
    if (sysConfigSettings.code == 0) {
      sysConfigSettings.data.forEach(config => {
        wx.setStorageSync(config.key, config.value);
      })
    }
    // 设置小程序名称
    wx.setNavigationBarTitle({
      title: wx.getStorageSync('mallName')
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  async onShow () {
    /**
     * 接口名称: cmsArticles
     * 接口作用: 获取文章列表，这里获取推荐的文章用于首页展示
     * 请求参数: {
     *   isRecommend: true,  // 是否推荐文章
     *   page: number,       // 页码（可选）
     *   categoryId: number  // 分类ID（可选）
     * }
     * 返回格式: {
     *   code: 0,            // 状态码，0表示成功
     *   data: [             // 文章列表数组
     *     {
     *       id: 19988,             // 文章ID
     *       title: "文章标题",      // 文章标题
     *       pic: "图片URL",        // 封面图片
     *       content: "文章内容",    // 文章内容HTML
     *       categoryId: 1,         // 分类ID
     *       isRecommend: true,     // 是否推荐
     *       createTime: "创建时间", // 创建时间
     *       viewCount: 100         // 浏览次数
     *     }
     *   ]
     * }
     */
    try {
      const articleList = await WXAPI.cmsArticles({
        isRecommend: true
      });
      if (articleList && articleList.code == 0) {
        const normalizedArticles = (articleList.data || []).map(entity => {
          const item = Object.assign({}, entity)
          if (item.pic) {
            item.pic = ensureAbsoluteUrl(item.pic)
          }
          return item
        })
        this.setData({
          articleList: normalizedArticles
        });
        console.log('首页文章加载成功，共', articleList.data.length, '篇');
        console.log('文章ID列表:', articleList.data.map(item => item.id));
        console.log('文章详情:', articleList.data);
      } else {
        console.error('获取文章列表失败:', articleList);
        wx.showToast({
          title: '加载文章失败',
          icon: 'none'
        });
      }
    } catch (error) {
      console.error('网络请求失败:', error);
      wx.showToast({
        title: '网络连接失败，请检查网络',
        icon: 'none'
      });
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  }
})
